bitkeeper revision 1.122.1.9 (3e6f6409XuZqtQw_I8D1ecR7Q4MmRg)
authoriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Wed, 12 Mar 2003 16:44:57 +0000 (16:44 +0000)
committeriap10@labyrinth.cl.cam.ac.uk <iap10@labyrinth.cl.cam.ac.uk>
Wed, 12 Mar 2003 16:44:57 +0000 (16:44 +0000)
Added "nosmp" Xen command line option.

xen/arch/i386/setup.c
xen/common/kernel.c

index f4f62c2b02ecb27644dfcc1050182741213b5fdc..1e5f35a73e44325a4136ce6863bd3337f4cf74e3 100644 (file)
@@ -292,7 +292,7 @@ void __init start_of_day(void)
     extern void initialize_keytable(); 
     extern void initialize_serial(void);
     extern void initialize_keyboard(void);
-
+    extern int opt_nosmp;
     unsigned long low_mem_size;
     
     /*
@@ -327,7 +327,11 @@ void __init start_of_day(void)
 #ifndef CONFIG_SMP    
     APIC_init_uniprocessor();
 #else
-    smp_boot_cpus(); /*
+    if( opt_nosmp )
+       APIC_init_uniprocessor();
+    else
+       smp_boot_cpus(); 
+                    /*
                       * Does loads of stuff, including kicking the local
                       * APIC, and the IO APIC after other CPUs are booted.
                       * Each IRQ is preferably handled by IO-APIC, but
index 344eae59c2ca93ebb8ccd60a657567c77fce665e..28eaae9b51196918f8f3d2c537ed08e4f1b01574 100644 (file)
@@ -41,7 +41,7 @@ unsigned int opt_ser_baud = 9600;  /* default baud for COM1 */
 unsigned int opt_dom0_mem = 16000; /* default kbytes for DOM0 */
 unsigned int opt_ne_base = 0; /* NE2k NICs cannot be probed */
 unsigned char opt_ifname[10] = "eth0";
-int opt_noht=0, opt_noacpi=0;
+int opt_noht=0, opt_noacpi=0, opt_nosmp;
 enum { OPT_IP, OPT_STR, OPT_UINT, OPT_BOOL };
 static struct {
     unsigned char *name;
@@ -55,6 +55,7 @@ static struct {
     { "ifname",   OPT_STR,  &opt_ifname },
     { "noht",     OPT_BOOL, &opt_noht },
     { "noacpi",   OPT_BOOL, &opt_noacpi },
+    { "nosmp",    OPT_BOOL, &opt_nosmp },
     { NULL,       0,        NULL     }
 };